<template>
  <view class="date">
      <!-- 年份 月份 -->
	  <view class="month">
	          <view>{{ currentYear }}{{$t('year')}}{{ currentMonth }}{{ $t('month') }} </view>
	  </view>
      <!-- 星期 -->
      <view class="weekdays">
        <view>{{ $t('monday') }}</view>
        <view>{{ $t('tuesday') }}</view>
        <view>{{ $t('wednesday') }}</view>
        <view>{{ $t('thursday') }}</view>
        <view>{{ $t('friday') }}</view>
        <view>{{ $t('saturday') }}</view>
        <view>{{ $t('sunday') }}</view>
      </view>
      <!-- 日期 -->
      <view class="days">
		  <!-- @cviewck="pick(day)" -->
        <view  v-for="(day, index) in days" :key="index">
          <!--本月-->
          <text v-if="day.getMonth()+1 != currentMonth" class="other-month">{{ day.getDate() }}</text>
          <text v-else>
          <!--今天-->
          <text v-if="day.getFullYear() == new Date().getFullYear() && day.getMonth() == new Date().getMonth() && day.getDate() == new Date().getDate()" class="active">{{ day.getDate() }}</text>
          <text v-else>{{ day.getDate() }}</text>
          </text>
        </view>
      </view>
  </view>
</template>

<script>
	var _self

  export default {
    name: 'date',

    data () {
      return {
        currentYear: 1970,   // 年份
        currentMonth: 1,  // 月份
        currentDay: 1,    // 日期
        currentWeek: 1,    // 星期
        days: [],
      }
    },

    mounted () {
		_self = this
		_self.initData(null)
    },

    methods: {
      formatDate (year, month, day) {
        const y = year
        let m = month
        if (m < 10) m = `0${m}`
        let d = day
        if (d < 10) d = `0${d}`
        return `${y}-${m}-${d}`
      },

      initData (cur) {
        let date = ''
        if (cur) {
          date = new Date(cur)
        } else {
          date = new Date()
        }
        _self.currentDay = date.getDate()+2         // 今日日期 几号
        _self.currentYear = date.getFullYear()       // 当前年份
        _self.currentMonth = date.getMonth() + 1    // 当前月份
        _self.currentWeek = date.getDay() // 1...6,0   // 星期几
        if (_self.currentWeek === 0) {
          _self.currentWeek = 7
        }
        const str = _self.formatDate(_self.currentYear, _self.currentMonth, _self.currentDay)// 今日日期 年-月-日
        _self.days.length = 0
        // 今天是周日，放在第一行第7个位置，前面6个 这里默认显示一周，如果需要显示一个月，则第二个循环为 i<= 35- _self.currentWeek
        /* esviewnt-disabled */
        for (let i = _self.currentWeek - 1; i >= 0; i -= 1) {
          const d = new Date(str)
          d.setDate(d.getDate() - i)
            // console.log(y:" + d.getDate())
          _self.days.push(d)
        }
        for (let i = 1; i <= 7 - _self.currentWeek; i += 1) {
          const d = new Date(str)
          d.setDate(d.getDate() + i)
          _self.days.push(d)
        }
		console.log(_self.days.push(d));
      },

      //  上个星期
      weekPre () {
        const d = _self.days[0]    // 如果当期日期是7号或者小于7号
        d.setDate(d.getDate() - 7)
        _self.initData(d)
      },

      //  下个星期
      weekNext () {
        const d = _self.days[6]    // 如果当期日期是7号或者小于7号
        d.setDate(d.getDate() + 7)
        _self.initData(d)
      },

      // 上一個月   传入当前年份和月份
      pickPre (year, month) {
        const d = new Date(_self.formatDate(year, month, 1))
        d.setDate(0)
        _self.initData(_self.formatDate(d.getFullYear(), d.getMonth() + 1, 1))
      },


      // 下一個月   传入当前年份和月份
      pickNext (year, month) {
        const d = new Date(_self.formatDate(year, month, 1))
        d.setDate(35)
        _self.initData(_self.formatDate(d.getFullYear(), d.getMonth() + 1, 1))
      },

      // 当前选择日期
      // pick (date) {
      //   alert(_self.formatDate(date.getFullYear(), date.getMonth() + 1, date.getDate()))
      // },
    },
  }
</script>
<style lang="scss">

  .date {
    height: px2rem(180);
    color: #333;

    .month {
      font-size: px2rem(24);
      text-aviewgn: center;
      margin-top: px2rem(20);
    }

    .weekdays {
      display: flex;
      font-size: px2rem(28);
      margin-top: px2rem(20);

      view {
        flex: 1;
        text-aviewgn: center;
      }
    }

    .days {
      display: flex;

      view {
        flex: 1;
        font-size: px2rem(30);
        text-aviewgn: center;
        margin-top: px2rem(10);
        viewne-height:  px2rem(60);

        .active {
          display: inviewne-block;
          width: px2rem(60);
          height: px2rem(60);
          color: #fff;
          border-radius: 50%;
        }
      }
    }
  }
</style>